Skip to content

os: add support for windows - #61

Draft
AmyJeanes wants to merge 2 commits into
commaai:masterfrom
AmyJeanes:windows
Draft

os: add support for windows#61
AmyJeanes wants to merge 2 commits into
commaai:masterfrom
AmyJeanes:windows

Conversation

@AmyJeanes

@AmyJeanes AmyJeanes commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Native Windows support so rednose's generated EKF filters build and load in an openpilot Windows development build (MSYS2 CLANG64). The loader change is two lines (_WIN32): filters load by the platform's library suffix (.dll on Windows, via dlfcn-win32).

  • SConstruct uses the mingw tool with clang, the lib prefix ekf_load expects, static libc++, and the interpreter's import library for the Cython module.
  • The cython SCons tool names modules .pyd on Windows; the filter generators run through the SCons interpreter on every platform.
  • A windows-latest CI entry runs ./test.sh from a CLANG64 shell.

Line endings were split out and comma has already merged them.

Draft: the one TEMP commit at the tip (marked TODO REMOVE) drops once commaai/dependencies#107 publishes the win_amd64 eigen wheel; it points uv at a pre-release index meanwhile.

Part of a six-repo series: commaai/openpilot#38810, commaai/msgq#709, commaai/panda#2427, commaai/opendbc#3724, commaai/dependencies#107. dependencies merges first; the rest independently.

Generated with Claude, human-reviewed and tested locally and in CI.

@AmyJeanes AmyJeanes changed the title ekf_load: .dll extension on Windows os: add support for windows (1/2) Sep 7, 2026
@AmyJeanes
AmyJeanes marked this pull request as draft September 7, 2026 23:22
@AmyJeanes AmyJeanes changed the title os: add support for windows (1/2) os: add support for windows Sep 7, 2026
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 9, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq's series on openpilot's current pin
(windows-tidy-pin). The lock follows the submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 9, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq's series on openpilot's current pin
(windows-tidy-pin). The lock follows the submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 9, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq's series on openpilot's current pin
(windows-tidy-pin). The lock follows the submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
@adeebshihadeh adeebshihadeh mentioned this pull request Sep 9, 2026
adeebshihadeh pushed a commit that referenced this pull request Sep 9, 2026
AmyJeanes and others added 2 commits September 9, 2026 18:14
SCons takes the mingw tool with clang (the default tool picks MSVC),
keeps the lib prefix ekf_load expects, links libc++ statically so the
filters load outside the shell, and names extension modules .pyd; the
loaders open .dll, and dlopen comes from dlfcn-win32. The filter
generators run through the interpreter running SCons on every platform:
cmd.exe cannot start a script by its shebang. CI gains a windows-latest
entry running ./test.sh in the CLANG64 shell.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
…ies#107 publishes

--- TODO REMOVE AFTER DEPENDENCY PR MERGES (commaai/dependencies#107) ---

Points uv at a GitHub release of the win_amd64 wheels built from that
PR's branch so the Windows CI entry can run before they are on PyPI.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 9, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq at its tip. The lock follows the
submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 9, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq at its tip. The lock follows the
submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 9, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq at its tip. The lock follows the
submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 10, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq at its tip. The lock follows the
submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 10, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq at its tip. The lock follows the
submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 10, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq at its tip. The lock follows the
submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
AmyJeanes added a commit to AmyJeanes/openpilot-upstream that referenced this pull request Sep 10, 2026
--- TODO REMOVE AFTER THE SUBMODULE PRS MERGE (commaai/msgq#709, commaai/panda#2427, commaai/rednose#61, commaai/opendbc#3724) ---

Until the four submodule PRs merge, the pointers move to the windows-tidy
branches on my fork and .gitmodules fetches them from there: panda and
opendbc just below their own TEMP index commits (their uv sources would
leak into this lockfile), rednose at its TEMP commit (its source supplies
comma-deps-eigen for Windows), msgq at its tip. The lock follows the
submodules' metadata.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant